package com.the.ui.app.ext

import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.Rect
import android.view.View
import android.widget.TextView

//  ┏┓　　　┏┓
//┏┛┻━━━┛┻┓
//┃　　　　　　　┃
//┃　　　━　　　┃
//┃　┳┛　┗┳　┃
//┃　　　　　　　┃
//┃　　　┻　　　┃
//┃　　　　　　　┃
//┗━┓　　　┏━┛
//    ┃　　　┃                  神兽保佑
//    ┃　　　┃                  永无BUG！
//    ┃　　　┗━━━┓
//    ┃　　　　　　　┣┓
//    ┃　　　　　　　┏┛
//    ┗┓┓┏━┳┓┏┛
//      ┃┫┫　┃┫┫
//      ┗┻┛　┗┻┛
/**
 * @author The one
 * @date 2021-11-05 13:46
 * @describe TODO
 * @email 625805189@qq.com
 * @remark
 */

/**
 * 画文字 - 处理基线
 * @receiver TextView
 * @param canvas Canvas?
 * @param paint Paint
 */
fun View.drawText(canvas: Canvas?,text:String?, paint: Paint) {
    canvas?.run {
        if (text.isNullOrEmpty())
            return
        // 获取文字区域
        val bounds = Rect()
        paint.getTextBounds(text, 0, text.length, bounds)
        // 获取x坐标
        val dx = width / 2 - bounds.width() / 2f
        // 获取y坐标-基线
        val dy = -paint.fontMetrics.top + (paddingTop + paddingBottom) / 2
        drawText(text, dx, dy, paint)
    }

}